package org.plex.core;

import java.util.List;

import org.plex.endpoints.EndpointInvokeResult;
import org.plex.model.TaskEndpoint;
import org.plex.model.TaskEndpointCategory;

/**
 * 服务入口点管理类
 * 
 * @author 黄卫立
 */
public interface TaskEndpointManager {

	List<TaskEndpointCategory> getEndpointCategories();

	List<TaskEndpoint> getTaskEndpointsForCategory(String categoryId);

	TaskEndpoint getTaskEndpointByName(String serviceName, String endpointName);

	EndpointInvokeResult invokeEndpointFromStartTask(long endpointId);

	EndpointInvokeResult invokeEndpoint(long endpointId);

	List<TaskEndpoint> getEndpointsFromIds(long[] endpointIds);

	TaskEndpoint getEndpointByName(String serviceName, String endpointName);
}
